<?php

/* * *********************************************************** */
/* * ******************** controller cliente ******************* */
/* * ************ Desenvolvido por Antônio Ezequiel ************** */
/* * *********************************************************** */

//verifica se o usuario esta logado
if (!verificaUsuarioLogado())
    header("location: " . $configurator["siteadmin"] . '/login.A&V');
//verifica se a sessão expirou
if (verificarExpiracaoSessao())
    header("location: " . $configurator["siteadmin"] . '/login.A&V');
//verifica se o usuario tem permissao
if (!verificaPermissao($_GET['pg'])) {
    header("location: " . $configurator["siteadmin"] . '/erro_permissao.A&V');
}

//atauliza o log do usuario
atualizaLogUsuario($configurator);

//inclusão das classes
include_once($configurator["classes"] . "/cliente.classes.php");
include_once($configurator["dao"] . "/clienteDao.php");

//instanciação dos objetos
$_cliente = new ClienteDao();

if ($_GET[ajax]) {
    $codigo_q = addslashes($_GET[codigo]);
    $nome_q = addslashes($_GET[nome]);
    $cpf_q = addslashes($_GET[cpf]);

//inicializa a busca
    $ini = 'cli_ativo = 1';

    if (isset($_GET[codigo]) && $_GET[codigo] != "") {
        $codigo = " and cli_codigo = '" . $codigo_q . "'";
    }

    if (isset($_GET[nome]) && $_GET[nome] != "") {
        $nome = " and cli_nome like '%$nome_q%'";
    }

    if (isset($_GET[cpf]) && $_GET[cpf] != "") {
        $cpf = " and cli_cpf = '$cpf_q'";
    }

    // configuração para paginação
    $porPagina = 14;
    $pagina = $_GET[pag];

    if (!$pagina) {
        $inicio = 0;
        $pagina = 1;
    } else {
        $inicio = ($pagina - 1) * $porPagina;
    }

    $_cliente->setNome($nome);
    $_cliente->setCpf($cpf);

    $clientes = $_cliente->listarClientesPaginadoAjax($ini, $codigo, $inicio, $porPagina);

    $totRegistro = $_cliente->totalPaginasAjax($ini, $codigo);

    $totRegistros = $totRegistro['totRegistros'];

    //configuração da paginação
    $url = "cliente_listagem.A&V!codigo!$codigo&nome=$_GET[nome]&cpf=$_GET[cpf]&ajax=2&pag=" . ($pagina - 1);
    $url2 = "cliente_listagem.A&V!codigo!$codigo&nome=$_GET[nome]&cpf=$_GET[cpf]&ajax=2";
    $url3 = "cliente_listagem.A&V!codigo!$codigo&nome=$_GET[nome]&cpf=$_GET[cpf]&ajax=2&pag=" . ($pagina + 1);

    $smarty->assign("paginacao", montaPaginacaoAjax($totRegistros, $porPagina, $pagina, $url, $url2, $url3));

    $smarty->assign('clientes', $clientes);
    $smarty->display("cliente_listagem.tpl");

    exit;
}

// configuração para paginação
$porPagina = 14;
$pagina = $_GET['pag'];

if (!$pagina) {
    //pega a quantidade de registros da pesquisa
    $Registros = $_cliente->totalPaginas();
    $_SESSION['totRegistros'] = $Registros['quantidade'];

    $inicio = 0;
    $pagina = 1;
} else {
    $inicio = ($pagina - 1) * $porPagina;
}

$totRegistros = $_SESSION['totRegistros'];

$clientes = $_cliente->listarClientesPaginado($inicio, $porPagina);

$smarty->assign("paginacao", montaPaginacao($totRegistros, $porPagina, $pagina));
$smarty->assign('clientes', $clientes);
$smarty->display("cliente_listagem.tpl");
?>
